iT邦幫忙

2024 iThome 鐵人賽

DAY 3
0

事件風暴 Event Storming

先上個事件風暴示意圖
https://ithelp.ithome.com.tw/upload/images/20240905/201509874t0gCmm3uQ.png

將領域中所發生的活動當作一系列的離散事件來建立 Model。每個事件都用 Domain Object 來表示 ... 領域事件是 Domain Model 組成的一部份,表示領域中所發生的事情。
[from Eric Evans]

from DDD 戰術設計:Domain Event 領域中的重要事件

https://ithelp.ithome.com.tw/upload/images/20240905/20150987SpBgXuYlFR.png

通常領域事件會用橘色表示,並以過去式描述,我們利用它識別出前後因果關係,來一窺遊戲的全貌吧。

把事件都以過去式呈現「...已...」

https://ithelp.ithome.com.tw/upload/images/20240905/20150987fD26oFxVA5.png

按照時間順序排列

https://ithelp.ithome.com.tw/upload/images/20240905/2015098743zvmq0pax.png

補上 Command: 「xx 做了 xx」
以及 Actor: 誰做的

https://ithelp.ithome.com.tw/upload/images/20240905/20150987J7R7L68Cr9.png

至此我們有了第一版的 Happy Path 了

嘗試唸唸看有沒有會卡住的地方

Story Telling

a: 「系統」初始化遊戲
e: 遊戲已設置
e: 遊戲已開始
e: 回合已開始
rule: 由起始玩家開始選擇職業
a: 「玩家」選擇礦工
e: 礦工已選擇
e: 礦工階段已開始
a: 「系統」執行礦工行動
e: 礦工動作已執行
rule: 所有玩家已執行動作(沒有人可以執行動作了)
e: 礦工階段已結束
policy: 滿足了遊戲結束條件
e: 遊戲已結束

這裡做個流程簡化,將「policy: 遊戲結束條件」指定為永遠滿足
使得 第一位玩家 選擇了礦工階段後,遊戲就會結束。

明天要做什麼

  1. 寫 Example Mapping
  2. 開專案

以上不代表明天會做,如有雷同純屬巧合 /images/emoticon/emoticon05.gif

工商服務

SPT (Side Project Taiwan) 的宗旨是藉由Side Project開發來成就自我,透過持續學習和合作,共同推動技術和專業的發展。我們相信每一個參與者,無論是什麼專業,都能在這個社群中找到屬於自己的成長空間。

歡迎所有對Side Project開發有興趣的人加入我們,可以是有點子來找夥伴,也可以是來尋找有興趣的Side Project加入,邀請大家一同打造一個充滿活力且有意義的技術社群!

Discord頻道連結:https://sideproj.tw/dc


上一篇
Day 02 - 遊戲規則
下一篇
Day 04 - 建立專案
系列文
透過實作網頁遊戲練習網站工程師的基本素養,以 San Juan(聖胡安) 為例。6
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言